TSFRESH_VERSION = '0.17.9'
"""
:var TSFRESH_VERSION: The version of tsfresh installed by pip, this is important
    in terms of feature extraction baselines
:vartype TSFRESH_VERSION: str
"""

# TSFRESH_BASELINE_VERSION = '0.1.2'
TSFRESH_BASELINE_VERSION = '0.17.9'
"""
:var TSFRESH_BASELINE_VERSION: The version of tsfresh that was used to generate
    feature extraction baselines on.
:vartype TSFRESH_BASELINE_VERSION: str
"""

# @modified 20161213 - Branch #1790: test_tsfresh
# Reordered to match the new order introduced via the test_tsfresh method
# introduced at
# https://github.com/earthgecko/skyline/commit/5c6143d4757f7da47ea9fb9b454fbb63ea0f307b
TSFRESH_FEATURES = [
    [1, 'value__symmetry_looking__r_0.65'],
    [2, 'value__first_location_of_maximum'],
    [3, 'value__absolute_sum_of_changes'],
    [4, 'value__large_number_of_peaks__n_1'],
    [5, 'value__large_number_of_peaks__n_3'],
    [6, 'value__large_number_of_peaks__n_5'],
    [7, 'value__last_location_of_minimum'],
    [8, 'value__mean_abs_change_quantiles__qh_0.4__ql_0.0'],
    [9, 'value__mean_abs_change_quantiles__qh_0.4__ql_0.2'],
    [10, 'value__mean_abs_change_quantiles__qh_0.4__ql_0.4'],
    [11, 'value__mean_abs_change_quantiles__qh_0.4__ql_0.6'],
    [12, 'value__mean_abs_change_quantiles__qh_0.4__ql_0.8'],
    [13, 'value__maximum'],
    [14, 'value__value_count__value_-inf'],
    [15, 'value__skewness'],
    [16, 'value__number_peaks__n_3'],
    [17, 'value__longest_strike_above_mean'],
    [18, 'value__number_peaks__n_5'],
    [19, 'value__first_location_of_minimum'],
    [20, 'value__large_standard_deviation__r_0.25'],
    [21, 'value__augmented_dickey_fuller'],
    [22, 'value__count_above_mean'],
    [23, 'value__symmetry_looking__r_0.75'],
    [24, 'value__percentage_of_reoccurring_datapoints_to_all_datapoints'],
    [25, 'value__mean_abs_change'],
    [26, 'value__mean_change'],
    [27, 'value__value_count__value_1'],
    [28, 'value__value_count__value_0'],
    [29, 'value__minimum'],
    [30, 'value__autocorrelation__lag_5'],
    [31, 'value__median'],
    [32, 'value__symmetry_looking__r_0.85'],
    [33, 'value__mean_abs_change_quantiles__qh_0.8__ql_0.4'],
    [34, 'value__symmetry_looking__r_0.05'],
    [35, 'value__mean_abs_change_quantiles__qh_0.8__ql_0.6'],
    [36, 'value__value_count__value_inf'],
    [37, 'value__mean_abs_change_quantiles__qh_0.8__ql_0.0'],
    [38, 'value__mean_abs_change_quantiles__qh_0.8__ql_0.2'],
    [39, 'value__large_standard_deviation__r_0.45'],
    [40, 'value__mean_abs_change_quantiles__qh_0.8__ql_0.8'],
    [41, 'value__autocorrelation__lag_6'],
    [42, 'value__autocorrelation__lag_7'],
    [43, 'value__autocorrelation__lag_4'],
    [44, 'value__last_location_of_maximum'],
    [45, 'value__autocorrelation__lag_2'],
    [46, 'value__autocorrelation__lag_3'],
    [47, 'value__autocorrelation__lag_0'],
    [48, 'value__autocorrelation__lag_1'],
    [49, 'value__autocorrelation__lag_8'],
    [50, 'value__autocorrelation__lag_9'],
    [51, 'value__range_count__max_1__min_-1'],
    [52, 'value__variance'],
    [53, 'value__mean'],
    [54, 'value__standard_deviation'],
    [55, 'value__mean_abs_change_quantiles__qh_0.6__ql_0.6'],
    [56, 'value__mean_abs_change_quantiles__qh_0.6__ql_0.4'],
    [57, 'value__mean_abs_change_quantiles__qh_0.6__ql_0.2'],
    [58, 'value__mean_abs_change_quantiles__qh_0.6__ql_0.0'],
    [59, 'value__symmetry_looking__r_0.15'],
    [60, 'value__ratio_value_number_to_time_series_length'],
    [61, 'value__mean_second_derivate_central'],
    [62, 'value__number_peaks__n_1'],
    [63, 'value__length'],
    [64, 'value__mean_abs_change_quantiles__qh_1.0__ql_0.0'],
    [65, 'value__mean_abs_change_quantiles__qh_1.0__ql_0.2'],
    [66, 'value__mean_abs_change_quantiles__qh_1.0__ql_0.4'],
    [67, 'value__time_reversal_asymmetry_statistic__lag_3'],
    [68, 'value__mean_abs_change_quantiles__qh_1.0__ql_0.6'],
    [69, 'value__mean_abs_change_quantiles__qh_1.0__ql_0.8'],
    [70, 'value__sum_of_reoccurring_values'],
    [71, 'value__abs_energy'],
    [72, 'value__variance_larger_than_standard_deviation'],
    [73, 'value__mean_abs_change_quantiles__qh_0.6__ql_0.8'],
    [74, 'value__kurtosis'],
    [75, 'value__approximate_entropy__m_2__r_0.7'],
    [76, 'value__approximate_entropy__m_2__r_0.5'],
    [77, 'value__symmetry_looking__r_0.25'],
    [78, 'value__approximate_entropy__m_2__r_0.3'],
    [79, 'value__percentage_of_reoccurring_values_to_all_values'],
    [80, 'value__approximate_entropy__m_2__r_0.1'],
    [81, 'value__time_reversal_asymmetry_statistic__lag_2'],
    [82, 'value__approximate_entropy__m_2__r_0.9'],
    [83, 'value__time_reversal_asymmetry_statistic__lag_1'],
    [84, 'value__symmetry_looking__r_0.35'],
    [85, 'value__large_standard_deviation__r_0.3'],
    [86, 'value__large_standard_deviation__r_0.2'],
    [87, 'value__large_standard_deviation__r_0.1'],
    [88, 'value__large_standard_deviation__r_0.0'],
    [89, 'value__large_standard_deviation__r_0.4'],
    [90, 'value__large_standard_deviation__r_0.15'],
    [91, 'value__mean_autocorrelation'],
    [92, 'value__binned_entropy__max_bins_10'],
    [93, 'value__large_standard_deviation__r_0.35'],
    [94, 'value__symmetry_looking__r_0.95'],
    [95, 'value__longest_strike_below_mean'],
    [96, 'value__sum_values'],
    [97, 'value__symmetry_looking__r_0.45'],
    [98, 'value__symmetry_looking__r_0.6'],
    [99, 'value__symmetry_looking__r_0.7'],
    [100, 'value__symmetry_looking__r_0.4'],
    [101, 'value__symmetry_looking__r_0.5'],
    [102, 'value__symmetry_looking__r_0.2'],
    [103, 'value__symmetry_looking__r_0.3'],
    [104, 'value__symmetry_looking__r_0.0'],
    [105, 'value__symmetry_looking__r_0.1'],
    [106, 'value__has_duplicate'],
    [107, 'value__symmetry_looking__r_0.8'],
    [108, 'value__symmetry_looking__r_0.9'],
    [109, 'value__value_count__value_nan'],
    [110, 'value__mean_abs_change_quantiles__qh_0.2__ql_0.8'],
    [111, 'value__large_standard_deviation__r_0.05'],
    [112, 'value__mean_abs_change_quantiles__qh_0.2__ql_0.2'],
    [113, 'value__has_duplicate_max'],
    [114, 'value__mean_abs_change_quantiles__qh_0.2__ql_0.0'],
    [115, 'value__mean_abs_change_quantiles__qh_0.2__ql_0.6'],
    [116, 'value__mean_abs_change_quantiles__qh_0.2__ql_0.4'],
    [117, 'value__number_cwt_peaks__n_5'],
    [118, 'value__number_cwt_peaks__n_1'],
    [119, 'value__sample_entropy'],
    [120, 'value__has_duplicate_min'],
    [121, 'value__symmetry_looking__r_0.55'],
    [122, 'value__count_below_mean'],
    [123, 'value__quantile__q_0.1'],
    [124, 'value__quantile__q_0.2'],
    [125, 'value__quantile__q_0.3'],
    [126, 'value__quantile__q_0.4'],
    [127, 'value__quantile__q_0.6'],
    [128, 'value__quantile__q_0.7'],
    [129, 'value__quantile__q_0.8'],
    [130, 'value__quantile__q_0.9'],
    [131, 'value__ar_coefficient__k_10__coeff_0'],
    [132, 'value__ar_coefficient__k_10__coeff_1'],
    [133, 'value__ar_coefficient__k_10__coeff_2'],
    [134, 'value__ar_coefficient__k_10__coeff_3'],
    [135, 'value__ar_coefficient__k_10__coeff_4'],
    [136, 'value__index_mass_quantile__q_0.1'],
    [137, 'value__index_mass_quantile__q_0.2'],
    [138, 'value__index_mass_quantile__q_0.3'],
    [139, 'value__index_mass_quantile__q_0.4'],
    [140, 'value__index_mass_quantile__q_0.6'],
    [141, 'value__index_mass_quantile__q_0.7'],
    [142, 'value__index_mass_quantile__q_0.8'],
    [143, 'value__index_mass_quantile__q_0.9'],
    [144, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_0__w_2"'],
    [145, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_1__w_2"'],
    [146, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_2__w_2"'],
    [147, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_3__w_2"'],
    [148, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_4__w_2"'],
    [149, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_5__w_2"'],
    [150, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_6__w_2"'],
    [151, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_7__w_2"'],
    [152, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_8__w_2"'],
    [153, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_9__w_2"'],
    [154, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_10__w_2"'],
    [155, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_11__w_2"'],
    [156, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_12__w_2"'],
    [157, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_13__w_2"'],
    [158, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_14__w_2"'],
    [159, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_0__w_5"'],
    [160, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_1__w_5"'],
    [161, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_2__w_5"'],
    [162, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_3__w_5"'],
    [163, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_4__w_5"'],
    [164, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_5__w_5"'],
    [165, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_6__w_5"'],
    [166, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_7__w_5"'],
    [167, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_8__w_5"'],
    [168, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_9__w_5"'],
    [169, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_10__w_5"'],
    [170, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_11__w_5"'],
    [171, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_12__w_5"'],
    [172, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_13__w_5"'],
    [173, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_14__w_5"'],
    [174, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_0__w_10"'],
    [175, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_1__w_10"'],
    [176, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_2__w_10"'],
    [177, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_3__w_10"'],
    [178, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_4__w_10"'],
    [179, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_5__w_10"'],
    [180, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_6__w_10"'],
    [181, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_7__w_10"'],
    [182, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_8__w_10"'],
    [183, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_9__w_10"'],
    [184, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_10__w_10"'],
    [185, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_11__w_10"'],
    [186, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_12__w_10"'],
    [187, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_13__w_10"'],
    [188, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_14__w_10"'],
    [189, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_0__w_20"'],
    [190, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_1__w_20"'],
    [191, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_2__w_20"'],
    [192, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_3__w_20"'],
    [193, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_4__w_20"'],
    [194, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_5__w_20"'],
    [195, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_6__w_20"'],
    [196, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_7__w_20"'],
    [197, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_8__w_20"'],
    [198, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_9__w_20"'],
    [199, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_10__w_20"'],
    [200, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_11__w_20"'],
    [201, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_12__w_20"'],
    [202, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_13__w_20"'],
    [203, '"value__cwt_coefficients__widths_(2, 5, 10, 20)__coeff_14__w_20"'],
    [204, 'value__spkt_welch_density__coeff_2'],
    [205, 'value__spkt_welch_density__coeff_5'],
    [206, 'value__spkt_welch_density__coeff_8'],
    [207, 'value__fft_coefficient__coeff_0'],
    [208, 'value__fft_coefficient__coeff_1'],
    [209, 'value__fft_coefficient__coeff_2'],
    [210, 'value__fft_coefficient__coeff_3'],
    [211, 'value__fft_coefficient__coeff_4'],
    [212, 'value__fft_coefficient__coeff_5'],
    [213, 'value__fft_coefficient__coeff_6'],
    [214, 'value__fft_coefficient__coeff_7'],
    [215, 'value__fft_coefficient__coeff_8'],
    [216, 'value__fft_coefficient__coeff_9'],
]

"""
:var TSFRESH_FEATURES: This array defines the Skyline id for each known tsfresh
    feature.
:vartype TSFRESH_FEATURES: array

.. warning:: This is array is linked to relational fields in the database and
    ids as such should be consider immutable objects that must not be modified
    after they are created.  This array should only ever be extended.

.. note:: There is a helper script to generate is array for the feature names
    returned by current/running version of tsfresh and compare them to this
    array.  The helper script outputs changes and the full generated array for
    diffing against this array of known feature names. See:
    skyline/tsfresh_features/generate_tsfresh_features.py
"""
